iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 25
0
自我挑戰組

ROS自學筆記系列 第 25

Day 25 - ROS msg & srv 常用指令

  • 分享至 

  • xImage
  •  

在前幾篇我們知道了要怎麼自定義訊息格式,其中有用到一些command line 指令,在這篇做個整理:

基本上rosmsg和rossrv指令的差別,真的就只是前面的msg和srv而已,使用rosmsg/rossrvrosmsg -h/rossrv -h就可以看到跟rosmsg/rossrv相關的指令了,不過比較常用的應該就只有list和show啦:

list

$ rosmsg list
$ rossrv list

這個指令就是顯示目前已定義的msg/srv有哪些,都蠻多的,會看得眼花撩亂@@ 所以需要下一個指令: packages

packages

$ rosmsg packages
$ rossrv packages

這個指令是用來看目前已定義的mag/srv被放在哪些package底下,所以只會看到package名稱,例如這樣:
rosmsg packages執行畫面
可以看到有這麼多個package有自定義的msg,接下來就只要選擇其中某個package就可以看到其底下的msg/srv囉!

package

$ rosmsg package <package_name>
$ rossrv package <package_name>

這個指令延續上一個,就是用來查看某個特定的package底下有甚麼樣的msg/srv可以用,如圖所示:
rosmsg package執行畫面
可以看到我的beginner_tutorials底下就有兩個msg可以用啦! 也就是my_msg和test。

show/info

$rosmsg show <package_name>/<msg_name>
$rosmsg info <package_name>/<msg_name>
$rossrv show <package_name>/<srv_name>
$rossrv info <package_name>/<srv_name>

show跟info的指令完全一樣,就是在表示該msg/srv的定義,所以用自己習慣的那個就好了! 小妹我是比較喜歡show啦 XD
rosmsg show/info執行畫面
可以看到show跟info執行的結果一模一樣,不知道為什麼要分兩個就是了,可能是版本整合的關係吧~

好的最後就來做個小結吧,我覺得可以自定義message真的蠻好用的,就像我們以前在做專案的時候要把資料包成物件一樣,也可以透過這些指令清楚看到message是怎麼定義的,覺得很方便耶!


上一篇
Day 24 - 建立並使用自定義的srv file
下一篇
Day 26 - ROS Parameters 與相關指令
系列文
ROS自學筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言